#!/usr/bin/env python3
"""
Jupyter Notebook 翻译工具 GUI 启动脚本
"""

import sys
import os

def check_dependencies():
    """检查依赖是否安装"""
    missing_deps = []

    try:
        import PyQt5
    except ImportError:
        missing_deps.append("PyQt5")

    try:
        import openai
    except ImportError:
        missing_deps.append("openai")

    try:
        import requests
    except ImportError:
        missing_deps.append("requests")

    if missing_deps:
        print("缺少以下依赖包:")
        for dep in missing_deps:
            print(f"  - {dep}")
        print("\n请运行以下命令安装:")
        print("pip install -r requirements.txt")
        return False

    return True

def main():
    """主函数"""
    print("Jupyter Notebook 翻译工具 GUI 版")
    print("=" * 40)

    if not check_dependencies():
        input("按回车键退出...")
        sys.exit(1)

    # 添加当前目录到Python路径
    script_dir = os.path.dirname(os.path.abspath(__file__))
    if script_dir not in sys.path:
        sys.path.insert(0, script_dir)

    try:
        from gui import JupyterTranslatorGUI
        from PyQt5.QtWidgets import QApplication

        app = QApplication(sys.argv)
        app.setApplicationName("Jupyter Notebook 翻译工具")
        app.setApplicationVersion("1.0")

        # 设置应用图标（如果有的话）
        # app.setWindowIcon(QIcon("icon.png"))

        window = JupyterTranslatorGUI()
        window.show()

        print("GUI 应用已启动！")
        print("请查看应用程序窗口进行操作。")

        sys.exit(app.exec_())

    except Exception as e:
        print(f"启动 GUI 应用时发生错误: {e}")
        print("\n请检查:")
        print("1. 是否正确安装了所有依赖")
        print("2. 是否有足够的系统权限")
        print("3. 是否存在配置文件 (config.ini)")
        input("按回车键退出...")
        sys.exit(1)

if __name__ == "__main__":
    main()